package com.robot.topology.strategy.deterministic;

import com.robot.topology.graph.domain.Edge;

public abstract class Deterministic {

	Double ratio;
	Double reward;
	Double punishment;
	Integer pathLength;
	
	public Double getRatio() {
		return ratio;
	}

	public void setRatio(Double ratio) {
		this.ratio = ratio;
	}

	public Double getReward() {
		return reward;
	}

	public void setReward(Double reward) {
		this.reward = reward;
	}

	public Double getPunishment() {
		return punishment;
	}

	public void setPunishment(Double punishment) {
		this.punishment = punishment;
	}

	public abstract void updateEdgeToReward (Edge edgeTUpdate);
	
	public abstract void updateEdgeToPunish (Edge edgeTUpdate);

	public Integer getPathLength() {
		return pathLength;
	}

	public void setPathLength(Integer pathLength) {
		this.pathLength = pathLength;
	}

}
